package com.liuceng.zen.init;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;

import com.liuceng.zen.cache.GlobalCache;
import com.liuceng.zen.lib.gdt.vo.ApiBusinessInterest;
import com.liuceng.zen.lib.gdt.vo.ApiIndustryConf;
import com.liuceng.zen.lib.gdt.vo.ApiUtilities;
import com.liuceng.zen.lib.gdt.vo.ApiUtilitiesLocation;
import com.liuceng.zen.lib.gdt.vo.ApiUtilitiesLocation.Temp;
import com.liuceng.zen.lib.ip.IPSeeker;

@Component
public class InitData implements ApplicationListener<ApplicationEvent> {

  @Value("${ipdb.path}")
  private String ipseekerPath;

  private static Logger logger = LoggerFactory.getLogger(InitData.class);

  private static boolean isStart = false;

  private static IPSeeker ipSeeker;

  @Autowired
  private InitUtilities initUtilities;

  @Override
  public void onApplicationEvent(ApplicationEvent event) {
    if (!isStart) {
      logger.info("============ begin load global cache ==========");
      isStart = true;
      initData();
      logger.info("============ end load global cache ============");
    }
  }

  public void initData() {
    // init ip
    // initIpSeeker();
    // init 省市区
    // initRegion();
    // lazy loading
    // initGDTData();
  }

  // ---------- ip
  public void initIpSeeker() {
    try {
      ipSeeker = IPSeeker.getInstance(ipseekerPath);
    } catch (Exception e) {
      logger.error(e.getMessage());
    }
  }

  public static IPSeeker getIPSeeker() {
    return ipSeeker;
  }

  // ---------- 省市区
  public void initRegion() {}

  public void initGDTData() {
    // 客户状态
    GlobalCache.GDT_CUSTOMERSTATUS.put("CUSTOMERSTATUS_NORMAL", "有效");
    GlobalCache.GDT_CUSTOMERSTATUS.put("CUSTOMERSTATUS_PENDING", "待审核");
    GlobalCache.GDT_CUSTOMERSTATUS.put("CUSTOMERSTATUS_DENIED", "审核不通过");
    GlobalCache.GDT_CUSTOMERSTATUS.put("CUSTOMERSTATUS_FROZEN", "冻结");
    GlobalCache.GDT_CUSTOMERSTATUS.put("CUSTOMERSTATUS_TOBE_ACCEPTED", "待接受");
    GlobalCache.GDT_CUSTOMERSTATUS.put("CUSTOMERSTATUS_TOBE_ACTIVATED", "待激活");
    GlobalCache.GDT_CUSTOMERSTATUS.put("CUSTOMERSTATUS_SUSPEND", "挂起");
    GlobalCache.GDT_CUSTOMERSTATUS.put("CUSTOMERSTATUS_MATERIAL_PREPARED", "准备");
    GlobalCache.GDT_CUSTOMERSTATUS.put("CUSTOMERSTATUS_DELETED", "删除");
    GlobalCache.GDT_CUSTOMERSTATUS.put("CUSTOMERSTATUS_UNREGISTERED", "未注册");
    GlobalCache.GDT_CUSTOMERSTATUS.put("UNKNOWN(x)", "未知");

    // 广告、推广计划、创意状态定义
    GlobalCache.GDT_ADSTATUS.put("ADSTATUS_NORMAL", "正常");
    GlobalCache.GDT_ADSTATUS.put("ADSTATUS_PENDING", "待审核");
    GlobalCache.GDT_ADSTATUS.put("ADSTATUS_DENIED", "审核不通过");
    GlobalCache.GDT_ADSTATUS.put("ADSTATUS_FROZEN", "冻结");
    GlobalCache.GDT_ADSTATUS.put("ADSTATUS_SUSPEND", "挂起");
    GlobalCache.GDT_ADSTATUS.put("ADSTATUS_PREPARE", "准备状态");
    GlobalCache.GDT_ADSTATUS.put("ADSTATUS_DELETED", "删除");

    // 站点集合
    GlobalCache.GDT_SITESET.put("SITESET_QZONE", "QQ空间");
    GlobalCache.GDT_SITESET.put("SITESET_PAIPAISEARCH", "拍拍站内搜索");
    GlobalCache.GDT_SITESET.put("SITESET_QQSHOP", "QQ商城");
    GlobalCache.GDT_SITESET.put("SITESET_PAIPAIDAOGOU", "拍拍导购咨询");
    GlobalCache.GDT_SITESET.put("SITESET_QZONESEARCH", "QQ空间搜索");
    GlobalCache.GDT_SITESET.put("SITESET_WEBUNION_DELETED", "网站联盟");
    GlobalCache.GDT_SITESET.put("SITESET_EXPRESSPORTAL", "直通车外投");
    GlobalCache.GDT_SITESET.put("SITESET_PENGYOU", "朋友社区");
    GlobalCache.GDT_SITESET.put("SITESET_QQCLIENT", "QQ客户端");
    GlobalCache.GDT_SITESET.put("SITESET_TUAN", "QQ团购");
    GlobalCache.GDT_SITESET.put("SITESET_MEISHI", "QQ美食");
    GlobalCache.GDT_SITESET.put("SITESET_PIAO", "QQ票务");
    GlobalCache.GDT_SITESET.put("SITESET_MUSIC", "QQ音乐");
    GlobalCache.GDT_SITESET.put("SITESET_MOBILE_UNION", "移动联盟");
    GlobalCache.GDT_SITESET.put("SITESET_WANGGOU", "QQ网购");
    GlobalCache.GDT_SITESET.put("SITESET_THIRDPARTY", "第三方流量");
    GlobalCache.GDT_SITESET.put("SITESET_QQCOM", "腾讯网");
    GlobalCache.GDT_SITESET.put("SITESET_MAIL", "QQ邮箱");
    GlobalCache.GDT_SITESET.put("SITESET_WECHAT", "微信");
    GlobalCache.GDT_SITESET.put("SITESET_YINGYONGBAO_MOBILE", "应用宝移动");
    GlobalCache.GDT_SITESET.put("SITESET_PC_UNION", "PC联盟");
    GlobalCache.GDT_SITESET.put("SITESET_YINGYONGBAO_PC", "应用宝PC");
    GlobalCache.GDT_SITESET.put("SITESET_MOBILE_INNER", "移动内部站点");

    // 扣费方式
    GlobalCache.GDT_COSTTYPE.put("COSTTYPE_CPC", "CPC扣费");
    GlobalCache.GDT_COSTTYPE.put("COSTTYPE_CPA", "CPA扣费");
    GlobalCache.GDT_COSTTYPE.put("COSTTYPE_CPS", "CPS扣费");
    GlobalCache.GDT_COSTTYPE.put("COSTTYPE_CPM", "CPM扣费");
    GlobalCache.GDT_COSTTYPE.put("COSTTYPE_CPD", "CPD扣费");

    // 投放速度控制
    GlobalCache.GDT_SPEEDMODE.put("SPEEDMODE_UNIFORM",
        "标准投放，系统会优化您的广告投放，让您的预算在设定的投放时段内较为平稳的消耗，推荐使用");
    GlobalCache.GDT_SPEEDMODE.put("SPEEDMODE_NORMAL", "加速投放，广告会以较快的速度获得曝光，选择加速投放可能会导致您的预算较快的消耗尽");

    // 性别
    GlobalCache.GDT_GENDER.put("MALE", "男性");
    GlobalCache.GDT_GENDER.put("FEMALE", "女性");

    // 地区
    List<ApiUtilities> areas = initUtilities.getAreaList();
    GlobalCache.GDT_AREA = areas.stream()
        .collect(Collectors.toConcurrentMap(key -> key.getId() + "", val -> val.getName()));

    // 城市
    List<ApiUtilities> cities = initUtilities.getCityList();
    for (ApiUtilities city : cities) {
      GlobalCache.GDT_CITY.put(city.getId() + "", city.getName());
    }
    for (ApiUtilities city : cities) {

      // 商圈，根据城市的id获取这个城市的商圈
      ApiUtilitiesLocation locations = initUtilities.getLocationList(city.getId());
      Map<Integer, Temp> info = locations.getList();
      Set<Integer> pid = info.keySet();
      // 根据key值的集合，获取temp内部类
      for (Integer one : pid) {
        Temp temp = info.get(one);
        GlobalCache.GDT_LOCATION.put(temp.getId() + "", temp.getName());
        List<ApiUtilities> list = temp.getList();
        GlobalCache.GDT_LOCATION.putAll(list.stream()
            .collect(Collectors.toConcurrentMap(key -> key.getId() + "", val -> val.getName())));
      }
    }

    // 商业兴趣
    List<ApiBusinessInterest> businessInterests = initUtilities.getBusinessInterest();
    GlobalCache.GDT_BUSINESS_INTEREST.putAll(businessInterests.stream()
        .collect(Collectors.toConcurrentMap(key -> key.getId() + "", val -> val.getName())));
    // 获取他的商业兴趣子项目
    for (ApiBusinessInterest businessInterest : businessInterests) {
      if (businessInterest.getSub() != null) {
        GlobalCache.GDT_BUSINESS_INTEREST.putAll(businessInterest.getSub().stream()
            .collect(Collectors.toConcurrentMap(key -> key.getId() + "", val -> val.getName())));
      }
    }

    // 行业分类（创建广告）最多三层
    List<ApiIndustryConf> listIndustryConf = initUtilities.getIndustryConf();
    GlobalCache.GDT_INDUSTRY_CONF.putAll(listIndustryConf.stream()
        .collect(Collectors.toConcurrentMap(key -> key.getId() + "", val -> val.getName())));
    // 循环遍历，获取他的子行业
    for (ApiIndustryConf one1 : listIndustryConf) {
      List<ApiIndustryConf> listIndustryConf2 = one1.getList();
      if (listIndustryConf2.size() != 0) {
        GlobalCache.GDT_INDUSTRY_CONF.putAll(listIndustryConf2.stream()
            .collect(Collectors.toConcurrentMap(key -> key.getId() + "", val -> val.getName())));
        // 循环遍历子行业，获取他的子子行业
        for (ApiIndustryConf one2 : listIndustryConf2) {
          List<ApiIndustryConf> listIndustryConf3 = one2.getList();
          if (listIndustryConf3.size() != 0) {
            GlobalCache.GDT_INDUSTRY_CONF.putAll(listIndustryConf3.stream().collect(
                Collectors.toConcurrentMap(key -> key.getId() + "", val -> val.getName())));
          }
        }
      }
    }

    // 行业分类（注册广告主）最多二层
    List<ApiIndustryConf> listAdIndustryConf = initUtilities.getAdIndustryConf();
    GlobalCache.GDT_ADVERTISER_INDUSTRY_CONF.putAll(listIndustryConf.stream()
        .collect(Collectors.toConcurrentMap(key -> key.getId() + "", val -> val.getName())));
    // 循环遍历，获取他的子行业
    for (ApiIndustryConf itAd : listAdIndustryConf) {
      List<ApiIndustryConf> listIndustryConf2 = itAd.getList();
      if (listIndustryConf2.size() != 0) {
        GlobalCache.GDT_ADVERTISER_INDUSTRY_CONF.putAll(listIndustryConf2.stream()
            .collect(Collectors.toConcurrentMap(key -> key.getId() + "", val -> val.getName())));
      }
    }

    // 创意规格
    Map<String, String> map1 = new HashMap<String, String>();
    map1.put("140*226", "image_url(宽高： 140x226，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("1", map1);
    Map<String, String> map2 = new HashMap<String, String>();
    map2.put("160*300", "title(max： 18),image_url(宽高： 160x210，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("2", map2);
    Map<String, String> map5 = new HashMap<String, String>();
    map5.put("300*120", "title(max： 9),desc(max： 30),image_url(宽高： 125x90，大小：40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("5", map5);
    Map<String, String> map8 = new HashMap<String, String>();
    map8.put("140*140", "image_url(宽高： 140x140，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("8", map8);
    Map<String, String> map9 = new HashMap<String, String>();
    map9.put("300*80", "image_url(宽高： 300x80，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("9", map9);
    Map<String, String> map10 = new HashMap<String, String>();
    map10.put("640*100", "image_url(宽高： 640x100，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("10", map10);
    Map<String, String> map11 = new HashMap<String, String>();
    map11.put("728*90", "image_url(宽高： 728x90，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("11", map11);
    Map<String, String> map12 = new HashMap<String, String>();
    map12.put("198*40", "image_url(宽高： 198x40，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("12", map12);
    Map<String, String> map13 = new HashMap<String, String>();
    map13.put("760*75", "image_url(宽高： 760x75，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("13", map13);
    Map<String, String> map14 = new HashMap<String, String>();
    map14.put("565*250", "image_url(宽高： 565x250，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("14", map14);
    Map<String, String> map17 = new HashMap<String, String>();
    map17.put("0*0", "title(max： 30)");
    GlobalCache.GDT_CREATIVE_SIZE.put("17", map17);
    Map<String, String> map19 = new HashMap<String, String>();
    map19.put("230*92", "image_url(宽高： 230x92，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("19", map19);
    Map<String, String> map20 = new HashMap<String, String>();
    map20.put("960*75", "image_url(宽高： 960x75，大小： 60kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("20", map20);
    Map<String, String> map21 = new HashMap<String, String>();
    map21.put("220*120", "image_url(宽高： 220x120，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("21", map21);
    Map<String, String> map22 = new HashMap<String, String>();
    map22.put("140*40", "image_url(宽高： 140x40，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("22", map22);
    Map<String, String> map23 = new HashMap<String, String>();
    map23.put("198*120", "title(max： 18),image_url(宽高： 198x100，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("23", map23);
    Map<String, String> map24 = new HashMap<String, String>();
    map24.put("220*180", "title(max： 10),desc(max： 24),image_url(宽高： 75x75，大小：30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("24", map24);
    Map<String, String> map25 = new HashMap<String, String>();
    map25.put("0*0", "title(max： 14),desc(max： 30)");
    GlobalCache.GDT_CREATIVE_SIZE.put("25", map25);
    Map<String, String> map27 = new HashMap<String, String>();
    map27.put("160*120", "title(max： 13),image_url(宽高： 160x120，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("27", map27);
    Map<String, String> map28 = new HashMap<String, String>();
    map28.put("240*38", "image_url(宽高： 240x38，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("28", map28);
    Map<String, String> map29 = new HashMap<String, String>();
    map29.put("0*0", "title(max： 14)");
    GlobalCache.GDT_CREATIVE_SIZE.put("29", map29);
    Map<String, String> map30 = new HashMap<String, String>();
    map30.put("336*280", "image_url(宽高： 336x280，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("30", map30);
    Map<String, String> map31 = new HashMap<String, String>();
    map31.put("480*75", "image_url(宽高： 480x75，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("31", map31);
    Map<String, String> map32 = new HashMap<String, String>();
    map32.put("300*250", "image_url(宽高： 300x250，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("32", map32);
    Map<String, String> map33 = new HashMap<String, String>();
    map33.put("75*75", "image_url(宽高： 75x75，大小： 10kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("33", map33);
    Map<String, String> map34 = new HashMap<String, String>();
    map34.put("264*54", "image_url(宽高： 264x54，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("34", map34);
    Map<String, String> map35 = new HashMap<String, String>();
    map35.put("320*50", "image_url(宽高： 320x50，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("35", map35);
    Map<String, String> map37 = new HashMap<String, String>();
    map37.put("142*185", "image_url(宽高： 142x185，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("37", map37);
    Map<String, String> map39 = new HashMap<String, String>();
    map39.put("120*600", "image_url(宽高： 120x600，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("39", map39);
    Map<String, String> map42 = new HashMap<String, String>();
    map42.put("140*40",
        "desc(max： 30),image_url(宽高： 140x40，大小： 20kb),image2_url(宽高： 140x240，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("42", map42);
    Map<String, String> map44 = new HashMap<String, String>();
    map44.put("0*0", "title(max： 30， min： 24),desc(max： 30， min： 24)");
    GlobalCache.GDT_CREATIVE_SIZE.put("44", map44);
    Map<String, String> map48 = new HashMap<String, String>();
    map48.put("75*75", "title(max： 18),image_url(宽高： 75x75，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("48", map48);
    Map<String, String> map50 = new HashMap<String, String>();
    map50.put("72*72", "title(max： 12),desc(max： 15),image_url(宽高： 72x72，大小：30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("50", map50);
    Map<String, String> map51 = new HashMap<String, String>();
    map51.put("0*0", "title(max： 20),desc(max： 30)");
    GlobalCache.GDT_CREATIVE_SIZE.put("51", map51);
    Map<String, String> map52 = new HashMap<String, String>();
    map52.put("320*50", "image_url(宽高： 320x50，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("52", map52);
    Map<String, String> map53 = new HashMap<String, String>();
    map53.put("640*100", "image_url(宽高： 640x100，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("53", map53);
    Map<String, String> map54 = new HashMap<String, String>();
    map54.put("200*200", "image_url(宽高： 200x200，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("54", map54);
    Map<String, String> map58 = new HashMap<String, String>();
    map58.put("300*250", "image_url(宽高： 300x250，大小： 80kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("58", map58);
    Map<String, String> map59 = new HashMap<String, String>();
    map59.put("600*500", "image_url(宽高： 600x500，大小： 80kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("59", map59);
    Map<String, String> map60 = new HashMap<String, String>();
    map60.put("135*100", "image_url(宽高： 135x100，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("60", map60);
    Map<String, String> map61 = new HashMap<String, String>();
    map61.put("970*90", "image_url(宽高： 970x90，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("61", map61);
    Map<String, String> map62 = new HashMap<String, String>();
    map62.put("468*60", "image_url(宽高： 468x60，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("62", map62);
    Map<String, String> map65 = new HashMap<String, String>();
    map65.put("1000*560", "title(max： 30),image_url(宽高： 1000x560，大小： 90kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("65", map65);
    Map<String, String> map66 = new HashMap<String, String>();
    map66.put("512*120", "title(max： 30),image_url(宽高： 512x120，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("66", map66);
    Map<String, String> map67 = new HashMap<String, String>();
    map67.put("80*60", "title(max： 18),image_url(宽高： 80x60，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("67", map67);
    Map<String, String> map68 = new HashMap<String, String>();
    map68.put("0*0", "title(max： 13),desc(max： 26)");
    GlobalCache.GDT_CREATIVE_SIZE.put("68", map68);
    Map<String, String> map69 = new HashMap<String, String>();
    map69.put("72*72", "title(max： 14),desc(max： 14),image_url(宽高： 72x72，大小：30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("69", map69);
    Map<String, String> map70 = new HashMap<String, String>();
    map70.put("72*72", "title(max： 12),desc(max： 80),image_url(宽高： 72x72，大小：30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("70", map70);
    Map<String, String> map71 = new HashMap<String, String>();
    map71.put("0*0", "title(max： 15),desc(max： 15)");
    GlobalCache.GDT_CREATIVE_SIZE.put("71", map71);
    Map<String, String> map72 = new HashMap<String, String>();
    map72.put("160*110", "title(max： 13),image_url(宽高： 160x110，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("72", map72);
    Map<String, String> map73 = new HashMap<String, String>();
    map73.put("370*70", "title(max： 13),image_url(宽高： 370x70，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("73", map73);
    Map<String, String> map74 = new HashMap<String, String>();
    map74.put("0*0", "title(max： 13)");
    GlobalCache.GDT_CREATIVE_SIZE.put("74", map74);
    Map<String, String> map75 = new HashMap<String, String>();
    map75.put("536*402", "image_url(宽高： 536x402，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("75", map75);
    Map<String, String> map79 = new HashMap<String, String>();
    map79.put("640*960", "image_url(宽高： 640x960，大小： 100kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("79", map79);
    Map<String, String> map80 = new HashMap<String, String>();
    map80.put("320*480", "image_url(宽高： 320x480，大小： 100kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("80", map80);
    Map<String, String> map82 = new HashMap<String, String>();
    map82.put("220*120", "image_url(宽高： 220x120，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("82", map82);
    Map<String, String> map84 = new HashMap<String, String>();
    map84.put("320*180", "title(max： 13),image_url(宽高： 320x180，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("84", map84);
    Map<String, String> map85 = new HashMap<String, String>();
    map85.put("320*152", "title(max： 13),image_url(宽高： 320x152，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("85", map85);
    Map<String, String> map86 = new HashMap<String, String>();
    map86.put("960*90", "image_url(宽高： 960x90，大小： 60kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("86", map86);
    Map<String, String> map88 = new HashMap<String, String>();
    map88.put("80*80", "title(max： 30),image_url(宽高： 80x80，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("88", map88);
    Map<String, String> map89 = new HashMap<String, String>();
    map89.put("120*120", "title(max： 14),desc(max： 14),image_url(宽高： 120x120，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("89", map89);
    Map<String, String> map90 = new HashMap<String, String>();
    map90.put("120*120", "title(max： 12),desc(max： 80),image_url(宽高： 120x120，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("90", map90);
    Map<String, String> map94 = new HashMap<String, String>();
    map94.put("50*50", "title(max： 22),image_url(宽高： 50x50，大小： 20kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("94", map94);
    Map<String, String> map96 = new HashMap<String, String>();
    map96.put("140*425", "image_url(宽高： 140x425，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("96", map96);
    Map<String, String> map99 = new HashMap<String, String>();
    map99.put("200*162", "image_url(宽高： 200x162，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("99", map99);
    Map<String, String> map100 = new HashMap<String, String>();
    map100.put("200*258", "image_url(宽高： 200x258，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("100", map100);
    Map<String, String> map105 = new HashMap<String, String>();
    map105.put("310*68", "image_url(宽高： 310x68，大小： 25kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("105", map105);
    Map<String, String> map106 = new HashMap<String, String>();
    map106.put("690*270", "image_url(宽高： 690x270，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("106", map106);
    Map<String, String> map108 = new HashMap<String, String>();
    map108.put("465*230", "image_url(宽高： 465x230，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("108", map108);
    Map<String, String> map109 = new HashMap<String, String>();
    map109.put("210*100", "title(max： 14),image_url(宽高： 210x100，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("109", map109);
    Map<String, String> map111 = new HashMap<String, String>();
    map111.put("290*140", "image_url(宽高： 290x140，大小： 25kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("111", map111);
    Map<String, String> map112 = new HashMap<String, String>();
    map112.put("0*0", "image_url(宽高： 216x135，大小： 0kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("112", map112);
    Map<String, String> map110 = new HashMap<String, String>();
    map110.put("600*200", "title(max： 12),image_url(宽高： 600x200，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("110", map110);
    Map<String, String> map113 = new HashMap<String, String>();
    map113.put("640*960", "image_url(宽高： 640x960，大小： 80kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("113", map113);
    Map<String, String> map114 = new HashMap<String, String>();
    map114.put("320*480", "image_url(宽高： 320x480，大小： 70kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("114", map114);
    Map<String, String> map115 = new HashMap<String, String>();
    map115.put("72*72", "title(max： 12),desc(max： 40),image_url(宽高： 72x72，大小：30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("115", map115);
    Map<String, String> map116 = new HashMap<String, String>();
    map116.put("230*92", "image_url(宽高： 230x92，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("116", map116);
    Map<String, String> map117 = new HashMap<String, String>();
    map117.put("465*230", "image_url(宽高： 465x230，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("117", map117);
    Map<String, String> map118 = new HashMap<String, String>();
    map118.put("640*330", "image_url(宽高： 640x330，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("118", map118);
    Map<String, String> map122 = new HashMap<String, String>();
    map122.put("160*120", "image_url(宽高： 160x120，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("122", map122);
    Map<String, String> map123 = new HashMap<String, String>();
    map123.put("140*425", "image_url(宽高： 140x425，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("123", map123);
    Map<String, String> map126 = new HashMap<String, String>();
    map126.put("300*134", "title(max： 46， min： 23),image_url(宽高： 300x134，大小：30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("126", map126);
    Map<String, String> map133 = new HashMap<String, String>();
    map133.put("582*166", "image_url(宽高： 582x166，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("133", map133);
    Map<String, String> map134 = new HashMap<String, String>();
    map134.put("114*114", "title(max： 14),desc(max： 28),image_url(宽高： 114x114，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("134", map134);
    Map<String, String> map135 = new HashMap<String, String>();
    map135.put("0*0", "title(max： 18)");
    GlobalCache.GDT_CREATIVE_SIZE.put("135", map135);
    Map<String, String> map137 = new HashMap<String, String>();
    map137.put("0*0", "title(max： 8),desc(max： 16)");
    GlobalCache.GDT_CREATIVE_SIZE.put("137", map137);
    Map<String, String> map138 = new HashMap<String, String>();
    map138.put("640*228", "image_url(宽高： 640x288，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("138", map138);
    Map<String, String> map139 = new HashMap<String, String>();
    map139.put("480*216", "image_url(宽高： 480x216，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("139", map139);
    Map<String, String> map140 = new HashMap<String, String>();
    map140.put("460*330", "image_url(宽高： 460x330，大小： 150kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("140", map140);
    Map<String, String> map141 = new HashMap<String, String>();
    map141.put("160*110", "image_url(宽高： 160x110，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("141", map141);
    Map<String, String> map143 = new HashMap<String, String>();
    map143.put("140*140", "image_url(宽高： 140x140，大小： 40kb),image2_url(宽高：140x200，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("143", map143);
    Map<String, String> map145 = new HashMap<String, String>();
    map145.put("1456*180", "image_url(宽高： 1456x180，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("145", map145);
    Map<String, String> map144 = new HashMap<String, String>();
    map144.put("936*120", "image_url(宽高： 936x120，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("144", map144);
    Map<String, String> map146 = new HashMap<String, String>();
    map146.put("0*0", "image_url(宽高： 200x162，大小： 3072kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("146", map146);
    Map<String, String> map147 = new HashMap<String, String>();
    map147.put("1200*800",
        "title(max： 14),desc(max： 30),image_url(宽高： 1200x800，大小： 100kb),image2_url(宽高： 300x300，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("147", map147);
    Map<String, String> map148 = new HashMap<String, String>();
    map148.put("1280*720",
        "title(max： 14),desc(max： 30),image_url(宽高： 1280x720，大小： 100kb),image2_url(宽高： 300x300，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("148", map148);
    Map<String, String> map149 = new HashMap<String, String>();
    map149.put("1200*627",
        "title(max： 14),desc(max： 30),image_url(宽高： 1200x627，大小： 100kb),image2_url(宽高： 300x300，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("149", map149);
    Map<String, String> map150 = new HashMap<String, String>();
    map150.put("800*1200",
        "title(max： 14),desc(max： 30),image_url(宽高： 800x1200，大小： 100kb),image2_url(宽高： 300x300，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("150", map150);
    Map<String, String> map153 = new HashMap<String, String>();
    map153.put("688*220", "image_url(宽高： 688x220，大小： 40kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("153", map153);
    Map<String, String> map154 = new HashMap<String, String>();
    map154.put("220*300", "image_url(宽高： 220x300，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("154", map154);
    Map<String, String> map155 = new HashMap<String, String>();
    map155.put("220*120", "image_url(宽高： 220x120，大小： 30kb),image2_url(宽高：360x160，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("155", map155);
    Map<String, String> map156 = new HashMap<String, String>();
    map156.put("688*220", "image_url(宽高： 435x210，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("156", map156);
    Map<String, String> map158 = new HashMap<String, String>();
    map158.put("0*0", "title(max： 16),desc(max： 72),desc(max： 14)");
    GlobalCache.GDT_CREATIVE_SIZE.put("158", map158);
    Map<String, String> map159 = new HashMap<String, String>();
    map159.put("0*0", "title(max： 16),desc(max： 72),desc(max： 14)");
    GlobalCache.GDT_CREATIVE_SIZE.put("159", map159);
    Map<String, String> map160 = new HashMap<String, String>();
    map160.put("100*115",
        "title(max： 10),desc(max： 59),desc(max： 14),image_url(宽高： 100x115，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("160", map160);
    Map<String, String> map161 = new HashMap<String, String>();
    map161.put("100*115",
        "title(max： 10),desc(max： 59),desc(max： 14),image_url(宽高： 100x115，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("161", map161);
    Map<String, String> map162 = new HashMap<String, String>();
    map162.put("160*115",
        "title(max： 6),desc(max： 39),desc(max： 14),image_url(宽高：160x115，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("162", map162);
    Map<String, String> map163 = new HashMap<String, String>();
    map163.put("160*115",
        "title(max： 6),desc(max： 39),desc(max： 14),image_url(宽高：160x115，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("163", map163);
    Map<String, String> map164 = new HashMap<String, String>();
    map164.put("80*90", "title(max： 10),desc(max： 44),desc(max： 14),image_url(宽高： 80x90，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("164", map164);
    Map<String, String> map165 = new HashMap<String, String>();
    map165.put("80*90", "title(max： 10),desc(max： 44),desc(max： 14),image_url(宽高： 80x90，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("165", map165);
    Map<String, String> map166 = new HashMap<String, String>();
    map166.put("900*162", "image_url(宽高： 900x162，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("166", map166);
    Map<String, String> map167 = new HashMap<String, String>();
    map167.put("525*258", "image_url(宽高： 525x258，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("167", map167);
    Map<String, String> map170 = new HashMap<String, String>();
    map170.put("600*108", "image_url(宽高： 600x162，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("170", map170);
    Map<String, String> map171 = new HashMap<String, String>();
    map171.put("200*425", "image_url(宽高： 200x425，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("171", map171);
    Map<String, String> map172 = new HashMap<String, String>();
    map172.put("200*425", "image_url(宽高： 200x425，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("172", map172);
    Map<String, String> map173 = new HashMap<String, String>();
    map173.put("600*500", "image_url(宽高： 600x500，大小： 80kb),image2_url(宽高：640x360，大小： 1024kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("173", map173);
    Map<String, String> map174 = new HashMap<String, String>();
    map174.put("104*84", "title(max： 6),image_url(宽高： 104x84，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("174", map174);
    Map<String, String> map175 = new HashMap<String, String>();
    map175.put("64*66", "title(max： 5),image_url(宽高： 64x66，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("175", map175);
    Map<String, String> map176 = new HashMap<String, String>();
    map176.put("1000*400", "title(max： 20),image_url(宽高： 1000x400，大小： 80kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("176", map176);
    Map<String, String> map177 = new HashMap<String, String>();
    map177.put("600*600", "title(max： 20),image_url(宽高： 600x600，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("177", map177);
    Map<String, String> map179 = new HashMap<String, String>();
    map179.put("90*90",
        "title(max： 22， min： 8),desc(max： 26， min： 15),image_url(宽高： 90x90，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("179", map179);
    Map<String, String> map182 = new HashMap<String, String>();
    map182.put("582*166", "image_url(宽高： 582x166，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("182", map182);
    Map<String, String> map183 = new HashMap<String, String>();
    map183.put("216*135", "title(max： 10),desc(max： 30),image_url(宽高： 216x135，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("183", map183);
    Map<String, String> map184 = new HashMap<String, String>();
    map184.put("240*180", "title(max： 13),desc(max： 24),image_url(宽高： 240x180，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("184", map184);
    Map<String, String> map185 = new HashMap<String, String>();
    map185.put("640*360",
        "title(max： 20， min： 1),image_url(宽高： 640x360，大小：50kb),image2_url(宽高： 640x360，大小： 1024kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("185", map185);
    Map<String, String> map186 = new HashMap<String, String>();
    map186.put("140*40", "image_url(宽高： 140x40，大小： 20kb),image2_url(宽高：140x425，大小： 50kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("186", map186);
    Map<String, String> map187 = new HashMap<String, String>();
    map187.put("100*100", "title(max： 18),image_url(宽高： 100x100，大小： 30kb)");
    GlobalCache.GDT_CREATIVE_SIZE.put("187", map187);
  }

}
